$class-prefix-list: rt-list;

.#{$class-prefix-list} {
  --header-font-size: var(--rt-size-16);
  --prefix-width: 'auto';
  --prefix-color: var(--rt-color-text-secondary);
  --prefix-padding-right: 12px;
  --align-items: center;
  --active-background-color: var(--rt-color-border);
  --border-inner: solid 1px var(--rt-color-border);
  --border-top: solid 1px var(--rt-color-border);
  --border-bottom: solid 1px var(--rt-color-border);
  --padding-left: 12px;
  --padding-right: 12px;
  --font-size: var(--rt-size-14);
  --font-title-des-size: var(--rt-size-12);
  --extra-max-width: 70%;

  &-header {
    color: var(--rt-color-weak);
    font-size: var(--header-font-size);
    padding: 8px var(--padding-right) 8px var(--padding-left);
  }

  &-body {
    background-color: var(--rt-color-background);
    overflow: hidden;
    font-size: var(--font-size);

    &-inner {
      margin-top: -1px;
    }
  }

  &-default {
    .#{$class-prefix-list}-body {
      border-top: var(--border-top);
      border-bottom: var(--border-bottom);
    }
  }

  &-card {
    margin: 12px;

    .#{$class-prefix-list}-header {
      padding-left: 0;
    }

    .#{$class-prefix-list}-body {
      border-radius: 8px;
    }
  }

  .#{$class-prefix-list}-item {
    display: block;
    padding-left: var(--padding-left);
    position: relative;
    background-color: var(--rt-color-background);
    line-height: 1.5;

    &-title,
    &-description {
      color: var(--rt-color-weak);
      font-size: var(--font-title-des-size);
    }

    &-content {
      display: flex;
      align-items: var(--align-items);
      justify-content: flex-start;
      border-top: var(--border-inner);
      padding-right: var(--padding-right);

      &-prefix {
        width: var(--prefix-width);
        flex: none;
        padding-right: var(--prefix-padding-right);
        color: var(--prefix-color);
      }

      &-main {
        flex: auto;
        padding: 12px 0;
      }

      &-extra {
        flex: none;
        padding-left: 12px;
        font-size: var(--rt-size-12);
        color: var(--rt-color-weak);
        max-width: var(--extra-max-width);
      }

      &-arrow {
        flex: none;
        display: flex;
        align-items: center;
        margin-left: 4px;
        color: var(--rt-color-light);
        font-size: 10px;
      }
    }

    &-disabled {
      cursor: not-allowed;
      .#{$class-prefix-list}-item-content > * {
        opacity: 0.4;
        pointer-events: none;
      }
    }
  }

  a.#{$class-prefix-list}-item {
    &:active:not(.#{$class-prefix-list}-item-disabled) {
      background-color: var(--active-background-color);

      &::after {
        content: ' ';
        display: block;
        position: absolute;
        width: 100%;
        bottom: -1px;
        left: 0;
        border-bottom: var(--border-inner);
      }
    }
  }
}
